package com.khotyn.heresy.dao;

import java.util.List;

import com.khotyn.heresy.bean.PictureAlbum;

/**
 * PictureAlbum Bean DAO
 * 修改：添加了deletePictureAlbumByID，修改人：赵洁琼
 * 修改：2009.4.29，添加了deletePictureAlbumByPK,selectPictureAlbumByPK，修改人：黄挺
 * @author 黄挺
 */
public interface PictureAlbumDAO {
	/**
	 * 将PictureAlbum Bean插入到数据库
	 * @param pictureAlbum
	 * @return 新记录主键
	 */
	public Integer insertPictureAlbum(PictureAlbum pictureAlbum);
	
	/**
	 * 通过Album的ID删除图片与相册的对应关系
	 * @param pictureAlbum
	 * @return 影响行数
	 */
	public int deletePictureAlbumByID(PictureAlbum pictureAlbum);
	
	/**
	 * 通过picture_id 和 album_id来删除相册与图片的对应关系
	 * @param pictureAlbum
	 * @return 影响行数
	 */
	public int deletePictureAlbumByPK(PictureAlbum pictureAlbum);
	
	/**
	 * 通过相册ID和图片ID来查询相册与图片的对应关系
	 * @param pictureAlbum 相册图片Bean
	 * @return 相册图片Bean
	 */
	public PictureAlbum selectPictureAlbumByPK(PictureAlbum pictureAlbum);
	
	/**
	 * 查询一个相册内的所有相片与图片的对应关系
	 * @param albumID 相册ID
	 * @return 相片图片对应关系
	 */
	public List<PictureAlbum> selectPictureAlubmByAlbumID(Integer albumID);
	
	/**
	 * 通过相册ID和图片ID来删除相册与图片的对应关系
	 * @param pictureID 图片ID
	 * @return 影响行数
	 */
	public int deletePicAlbumByPicId(String pictureID);
	
	/**
	 * 分页查询相册里的图片
	 * @param albumID 相册ID
	 * @param minRow 图片记录开始位置
	 * @param maxRow 图片记录结束位置
	 * @return 相册里第minRow到maxRow张图片
	 */
	public List<PictureAlbum> selectPagedPictureAlbum(Integer albumID, Integer minRow, Integer maxRow);
	
	/**
	 * 根据相册ID查询相册内图片数量
	 * @param albumID 相册ID
	 * @return 相册内图片数量
	 */
	public Integer selectPicCountByAlbumID(Integer albumID);
	
	/**
	 * 根据图片ID查询所有包含此图片的相册的ID
	 * @param pictureID 图片ID
	 * @return 包含此图片的相册的ID
	 */
	public List<Integer> selectAlbumIdByPictureId(String pictureID);
}
